package com.woniu.bh.common.core.exception;

/**
 * @version: V1.0
 * @author: Xbao
 * @className: ProjectExceptionResult
 * @packageName: com.woniu.project.common.core.exception
 * @description: 项目异常结果
 * @data: 2020-09-27 19:43
 */
public enum ProjectExceptionResult {

    /**
    * 信息状态码

    成功状态码:
    1;  //返回参数满足要求
    ----------------------
    失败状态码:
    // 参数错误
    10001// 参数为空
    10002 // 参数不全
    10003; // 参数类型错误
    10004; // 参数无效
    // 用户错误
    20001;// 用户不存在
    20002;// 用户未登陆
    20003;//	用户名或密码错误
    20004;//	两次密码输入不一致
    20005;//	用户账户已被禁用
    20006;//	用户已存在
    20007;//	余额不足
    20008;//	邀请码错误
    20009;//	先获取验证码
    20010;//	验证码返回
    20011;//	消费不满足优惠券的使用条件
    20012;//	不满足取消预约条件
    20013;//	输入为空
    // 业务错误
    33001； //用户信用良好，不能冻结
    33002； //用户仍有尚在进行服务，不能冻结
    // 系统错误
    40001; // 系统内部错误
    // 数据错误
    50001;// 数据未找到
    50002;// 数据有误
    50003;// 数据已存在
    // 接口错误
    60001; // 系统内部接口调用异常
    60002;// 系统外部接口调用异常
    60003;// 接口禁止访问
    60004;// 接口地址无效
    60005;// 接口请求超时
    60006;// 接口负载过高
    // 权限错误
    70001;// 没有访问权限
    // 短信错误
    80001;//阿里云短信未过期
    80002;//阿里云短信已过期
    80003;//阿里云短信请获取短信验证
    80004;//阿里云短信发送失败
    80005;//阿里云短信发送成功
    80006;//短信验证码错误
    */
    SUCCESS(1,"返回正确"),
    //参数错误
    PARAMETER_NOT_NULL(10001,"参数不能为空"),
    PARAMETER_NOT_ENOUGH(10002,"参数列表不完整"),
    PARAMETER_TYPE_ERROR(10003,"参数类型错误"),
    PARAMETER_ILLEGAL(10004,"参数无效"),

    //用户错误
    USER_NOT_EXSIT(20001,"用户不存在"),
    USER_NOT_LOGIN(20002,"用户未登录"),
    USER_OR_PWD_ERROR(20003,"用户名或密码错误"),
    USER_REPEAT_PASSWORD_NOT_SAME(20004,"两次输入密码不一致"),
    USER_FORBIDDEN(20005,"用户已被禁用"),
    USER_IS_EXSITS(20006,"用户已存在"),
    USER_BALANCE_NOT_ENOUGH(20007,"用户余额不足"),
    USER_INVITECODE_ERROR(20008,"邀请码错误"),
    INVITECODE_CODE_NEED(20009,"需要先获取验证码"),
    INVITECODE_RETURN(20010,"邀请码错误"),
    COUPON_CONDITION_NOT_SATISFIED(20011,"不满足优惠券使用条件"),
    CANCEL_CONDITION_NOT_SATISFIED(20012,"不满足取消预约条件"),
    INPUT_IS_NULL(20013,"输入为空"),
    USER_NAME_IS_EXSIT(20014,"用户名已存在"),
    USER_PHONE_IS_EXSIT(20015,"用户电话以存在"),

    //业务错误
    USER_CREDIT_GOOD(33001,"用户信用良好，不能冻结"),
    USER_CREDIT_BAD(33003,"用户信用较差，不能解冻"),
    USER_SERVICE_NOT_FINESHED(33002,"用户仍有尚在进行服务，不能冻结"),

    //系统错误
    SYSTEM_ERROR(40001,"系统内部错误"),
    RESOUCE_NOT_FOUND(40004,"访问的资源不存在"),

    //数据错误
    DATA_NOT_FOUND(50001,"数据未找到"),
    DATA_NOT_RIGHT(50002,"数据有误"),
    DATA_ALREADY(50003,"数据已存在"),

    //接口错误
    SYSTEM_INNER_PORT_ABNORMAL(60001,"系统内部接口异常"),
    SYSTEM_OUTTER_PORT_ABNORMAL(60002,"系统外部接口调用异常"),
    PORT_VISIT_FORBIDDEN(60003,"接口禁止访问"),
    PORT_ADDRESS_NOT_VALID(60004,"接口地址无效"),
    PORT_ASK_OUT_OF_TIME(60005,"接口请求超时"),
    PORT_LOAD_TOO_HIGH(60006,"接口负载过高"),

    //权限错误
    ACCESS_NOT_PERMISSION(70001,"没有访问权限"),

    /*
    // 权限错误
    70001;// 没有访问权限
    // 短信错误
    80001;//阿里云短信未过期
    80002;//阿里云短信已过期
    80003;//阿里云短信请获取短信验证
    80004;//阿里云短信发送失败
    80005;//阿里云短信发送成功
    80006;//短信验证码错误
     */
    MESSAGE_NOT_EXPIRED(80001,"短信未过期"),
    MESSAGE_VERIFYCODE_EXPIRED(80002,"短信验证码已过期"),
    MESSAGE_NOT_VERIFYED(80003,"短信未验证"),
    MESSAGE_SEND_FAILED(80004,"短信发送失败"),
    MESSAGE_SEND_SUCCESS(80005,"短信发送成功"),
    MESSAGE_VERIFY_FAILED(80006,"短信验证码错误")

    ;

    private Integer code;
    private String message;

    ProjectExceptionResult(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    public Integer getCode(){
        return code;
    }

    public String getMessage(){
        return message;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}
